package com.mingqijia.gassafety.webserver.service.zj;

import com.mingqijia.gassafety.db.entity.Dtu;
import com.mingqijia.gassafety.webserver.request.inner.*;

public interface ZjWifiService {
    /**
     * 紫荆WiFi报警器-新增设备时同步的数据, 创建客户并绑定设备
     * @param request
     */
    void createConsumerBind(ZJCreateBindRequest request);

    /**
     * 紫荆WiFi报警器-新增设备时同步的数据, 创建客户并绑定设备
     * @param request
     */
    void createConsumerBindZJ(ZJCreateBindRequest request);

    /**
     * 紫荆WiFi报警器-解绑设备
     * @param request
     */
    void unbindEquipment(ZJUnBindRequest request);

    /**
     * APP消息推送&短信发送
     * @param dtu 设备
     * @param type 1:报警器泄漏 2:报警器故障 3:报警器寿命到期 4:接收器电池欠压（低于2.7V时）
     *             5:接收器电池欠压（低于2.4V时）6:报警器离线 7:接收器离线 8:电磁阀关闭
     *             9:接收器状态阀故障(电磁阀短路) 10:接收器状态阀断开(电磁阀开路)
     */
    void pushMsg(Dtu dtu,Integer type);

    /**
     * 紫荆WiFi报警器-查询上报数据数量
     * @param params
     */
    Integer dataCount(ZJDataCountRequest params);

    /**
     * 紫荆WiFi报警器-新增设备时同步的数据
     * @param request
     */
    void deviceRregister(ZJDeviceRegisterRequest request);

    /**
     * 紫荆WiFi报警器-设备绑定
     * @param request
     */
    void deviceBind(ZJDeviceBindRequest request);

    /**
     * 紫荆WiFi报警器-设备解绑
     * @param request
     */
    void deviceUnbind(ZJDeviceBindRequest request);

    /**
     * 紫荆WiFi报警器-设备删除
     * @param request
     */
    void deviceRemove(ZJDeviceRegisterRequest request);
}
